/*
 * @Descripttion: 微信js-sdk
 * @version: 1.0.0
 * @Author: shuaishuai.han
 * @Date: 2022-06-08 14:02:52
 */
// 必填，需要使用的JS接口列表，所有JS接口列表见附录2
const jsApiList = [
  'checkJsApi',
  'openAddress',
  'updateAppMessageShareData',
  'updateTimelineShareData'
];
import wx from 'weixin-js-sdk';
/**
 * 设置微信config
 */
export const getWxconfig = (params, formData) => {
  const { sign, noncestr, timestamp, appid } = params;
  wx.config({
    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
    appId: appid, // 必填，公众号的唯一标识
    timestamp: timestamp, // 必填，生成签名的时间戳
    nonceStr: noncestr, // 必填，生成签名的随机串
    signature: sign, // 必填，签名，见附录1
    jsApiList: jsApiList
  });
  return new Promise((resolve, reject) => {
    resolve('success');
  });
};
// 获取微信收货地址
export const getOpenAddress = () => {
  return new Promise((resolve, reject) => {
    wx.ready(function () {
      wx.openAddress({
        success: function (res) {
          // 获取收货地址成功
          let formData = {
            defaultUse: 0, // 非默认
            receiverArea: res.countryName,
            receiverCity: res.cityName,
            receiverName: res.userName,
            receiverPhonenumber: res.telNumber,
            receiverProvince: res.provinceName,
            receiverRegion: res.detailInfo
          };
          resolve(formData);
        }
      });
    });
  });
};
// 自定义“分享给朋友”及“分享到QQ”按钮的分享内容
export const getAppMessageShareData = (params) => {
  return new Promise((resolve, reject) => {
    wx.ready(function () {
      wx.updateAppMessageShareData({
        title: params.title, // 分享标题
        desc: params.desc, // 分享描述，即中间灰色部分的内容
        link: params.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl: params.imgUrl, // 分享图标，最好使用绝对地址，比如，放在服务器中的图片
        success: function () {
          // 设置成功的回调
        }
      });
    });
  });
};

// 自定义“分享到朋友圈”及“分享到 QQ 空间”按钮的分享内容
export const getTimelineShareData = (params) => {
  return new Promise((resolve, reject) => {
    wx.ready(function () {
      wx.updateTimelineShareData({
        title: params.title, // 分享标题
        link: params.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致
        imgUrl: params.imgUrl, // 分享图标
        success: function () {
          // 设置成功
        }
      });
    });
  });
};
